package org.dding.msc.service;

import java.util.Collection;

public interface ServiceState {

	void addDependI(DependencyInfo dependencyInfo);

	void addIDepend(DependencyInfo dependencyInfo);

	DependencyInfo removeIDepend(ServiceName service);

	DependencyInfo removeDependI(ServiceName service);

	DependencyInfo getIDepend(ServiceName service);

	Collection<DependencyInfo> getIDepends();

	DependencyInfo getDependI(ServiceName service);

	void addServiceState(ServiceStateInfo service);

	ServiceStateInfo getServiceState(ServiceName service);

	Collection<ServiceStateInfo> getServiceStates();
	
	ServiceStateInfo removeServiceState(ServiceName service);

	void addDemand();

	void removeDemand();

}
